home *** CD-ROM | disk | FTP | other *** search
- /* pnmsmooth - smooth out an image by replacing each xel with the
- * average of its nine immediate neighbors
- *
- * $VER: pnmsmooth 1.0
- */
- parse source junk junk progname junk
-
- address command
- signal on error
- signal on break_c
- signal on break_d
- signal on ioerr
- signal on halt
- ID = pragma('Id')
-
- call open(err, "CONSOLE:", 'W')
- if ~result then exit 20
-
- parse arg first tail
- if abbrev(first, '-', 1) then call usage
- if tail ~= '' then call usage
-
- tmp = 'T:psm.'ID
- call rm tmp
- call open out, tmp, 'W'
- if ~result then exit 20
-
- call writeln out, P2
- call writeln out, 3 3
- call writeln out, 18
- call writeln out, 10 10 10
- call writeln out, 10 10 10
- call writeln out, 10 10 10
- call writeln out, 10 10 10
- call close out
- 'pnmconvol' tmp first
- call rm tmp
- exit 0
-
-
- usage:
- call writeln err, 'usage:' progname '[pnmfile]'
- exit 10
-
- rm: procedure
- arg name
- signal off error /* ignore WARN */
- 'delete' name 'quiet force >NIL:'
- signal on error
- return
-
- error:
- break_c:
- break_d:
- ioerr:
- halt:
- call writeln err, progname ': break/error at line' SIGL 'code' RC
- call rm tmp
- exit 20
-
-